/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：BaseDialog.js<br>
 * 日期：2017年7月14日<br>
 * 作者: 杨顺强<br>
 * 功能：定义dialog基本结构，完成dialog的创建<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 * 
 ******************************************************************************/
window.makeNamespace(window,"Rainier.UI.V2");

Rainier.UI.V2.BaseDialog = Rainier.Basic.CompositeObject.extend({
	
	NAME : "Rainier.UI.V2.BaseDialog",

	/**
	 * 函数名称：init<br>
	 * 函数功能：完成dialog对象的初始化<br>
	 * 参数输入：dialogProperties:dialog参数信息，详见easyUi官方easyUI dialog参数配置
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	init : function(dialogProperties){
		if(!dialogProperties){
			throw new Error("dialogProperties参数不能为空，是创建dialog的必备条件，请检测并重新赋值！！！");
		}
		if(!window.app){
			throw new Error("程序出错,请检测程序，window.app必须存在！！！");
		}
		this._super();
		
		this.parentComposite  = $("body");	//使用editorViewer 作为dialog的父组件容器

		this.dialog           = null;
		this.dialogProperties = dialogProperties;
		this.createDialog();
	},

	/**
	 * 函数名称：createDialog<br>
	 * 函数功能：创建dialog,并完成dialog内部组件的创建，完成显示界面的初始化<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createDialog : function(){
		this.dialog = new Rainier.UI.V2.UICompositeDialog(this.parentComposite,this.dialogProperties);
		this.createDialogComponents();
	},

	/**
	 * 函数名称：createDialogComponents<br>
	 * 函数功能：创建dialog组件内部的子组件对象<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createDialogComponents : function(){
		//此处有子类实现
		throw new Error("该函数由子类来实现，请重新实现该函数！");
	},

	/**
	 * 函数名称：onClickConfirm<br>
	 * 函数功能：点击了对话框的确定按钮，执行该函数<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	onClickConfirm : function(){
		this.dialog.close();
	},

	/**
	 * 函数名称：onClickCancel<br>
	 * 函数功能：点击了对话框的取消按钮，执行该操作<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	onClickCancel : function(){
		this.dialog.close();
	},

	/**
	 * 函数名称：onClickHelp<br>
	 * 函数功能：点击了对话框的帮助按钮，执行该操作<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	onClickHelp : function(){
		throw new Error("该函数由子类来实现，请重新实现该函数！");
	}

});
 